fdf309223c182ca5b9b901c85bc082b698c958a9,carbon/src/main/java/carbon/widget/ConstraintLayout.java,ConstraintLayout,dispatchDraw,#Canvas#,126

Before Change


    @Override
    protected void dispatchDraw(@NonNull Canvas canvas) {
        // draw not called, we have to handle corners here
        if (cornerRadius > 0 && !drawCalled && getWidth() > 0 && getHeight() > 0 && Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH) {
            int saveCount = canvas.saveLayer(0, 0, getWidth(), getHeight(), null, Canvas.ALL_SAVE_FLAG);

            internalDispatchDraw(canvas);

            paint.setXfermode(pdMode);
            canvas.drawPath(cornersMask, paint);

            canvas.restoreToCount(saveCount);
            paint.setXfermode(null);

After Change



    @Override
    protected void dispatchDraw(@NonNull Canvas canvas) {
        boolean r = reveal != null;
        boolean c = cornerRadius > 0;
        // draw not called, we have to handle corners here
        if (!drawCalled && (r || c) && getWidth() > 0 && getHeight() > 0 && Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH) {
            int saveCount = canvas.saveLayer(0, 0, getWidth(), getHeight(), null, Canvas.FULL_COLOR_LAYER_SAVE_FLAG);

            if (r) {
                int saveCount2 = canvas.saveLayer(0, 0, getWidth(), getHeight(), null, Canvas.CLIP_SAVE_FLAG);
                canvas.clipRect(reveal.x - reveal.radius, reveal.y - reveal.radius, reveal.x + reveal.radius, reveal.y + reveal.radius);
                internalDispatchDraw(canvas);
                canvas.restoreToCount(saveCount2);
            } else {
                internalDispatchDraw(canvas);
            }

            paint.setXfermode(pdMode);
            if (c)
                canvas.drawPath(cornersMask, paint);
            if (r)
                canvas.drawPath(reveal.mask, paint);

            canvas.restoreToCount(saveCount);
            paint.setXfermode(null);
        } else {
            internalDispatchDraw(canvas);
        }
        drawCalled = false;
    }